package cn.sherer.utils;

import java.util.List;

/**
 * 数组工具类
 */
public class ArrayUtils {

    // <editor-fold defaultstate="collapsed" desc="拼接数组">

    /**
     * 拼接数组
     * 通过指定字符串拼接整数型数组
     * @param array 整数型数组
     * @param string 字符串
     * @return 拼接字符串
     */
    public static String joinArray(int[] array, String string) {
        if(array == null) return "";
        String str = "";
        for (int item : array) {
            str += string + String.valueOf(item);
        }
        return array.length > 0 ? str.substring(string.length()) : str;
    }

    /**
     * 拼接数组
     * 通过指定字符串拼接整数型数组
     * @param array 整数型数组
     * @param string 字符串
     * @return 拼接字符串
     */
    public static String joinArray(long[] array, String string) {
        if(array == null) return "";
        String str = "";
        for (long item : array) {
            str += string + String.valueOf(item);
        }
        return array.length > 0 ? str.substring(string.length()) : str;
    }

    /**
     * 拼接数组
     * 通过指定字符串拼接数组
     * @param array 数组
     * @param string 字符串
     * @return 拼接字符串
     */
    public static String joinArray(Object[] array, String string) {
        if(array == null) return "";
        String str = "";
        for (Object item : array) {
            str += string + String.valueOf(item);
        }
        return array.length > 0 ? str.substring(string.length()) : str;
    }

    // </editor-fold>

    // <editor-fold defaultstate="collapsed" desc="转换int数组">

    /**
     * 转换int数组
     * @param array 转换数组
     * @return int数组
     * @throws Exception 转换异常
     */
    public static int[] toIntArray(List<Object> array) throws Exception {
        int[] list = new int[array.size()];
        for (int i = 0; i < array.size(); i++) list[i] = Integer.valueOf(String.valueOf(array.get(i)));
        return list;
    }

    /**
     * 转换int数组
     * @param array 转换数组
     * @return int数组
     * @throws Exception 转换异常
     */
    public static int[] toIntArray(Object[] array) throws Exception {
        int[] list = new int[array.length];
        for (int i = 0; i < array.length; i++) list[i] = Integer.valueOf(String.valueOf(array[i]));
        return list;
    }

    // </editor-fold>

}
